home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Epic Collection 3
/
Epic Collection 3, The (1997)(Epic Marketing)[!].iso
/
system
/
c
/
sysihack.doc
< prev
next >
Wrap
Text File
|
1996-09-08
|
7KB
|
164 lines
NAME
sysihack - sysiclass hack 0.6 (14.7.94)
sysiclass is the BOOPSI class for system images, such as window
gadgets and menu symbols.
WARNING
This is an ALPHA version. Do not use it, unless you really know
what you do!
FUNCTION
Hacks sizing gadget and scroll arrows to look nice in 1:1 screens.
Requires a font >= 11 pt, and a highres 1:1 aspect screen.
REQUIRES
WB 3.0. (Even works with 2.x, but only 3.0 is resolution adaptive).
Check aminet:dev/src/ScrollerWindow.lha to learn how to create
a resolution adaptive window.
AUTHOR
Mr. BOOPSI
STATUS
This is Public Domain.
OPTIONS
SWIDTH/N,SHEIGHT/N,AWIDTH/N,AHEIGHT/N,
CWIDTH/N,HBORDER/N,VBORDER/N,3DLOOK/S
SWIDTH: width of the sizing gadget (min: 18, default: 18, max: 32).
SHEIGHT: height of sizing gadget (min: 10, default: 16, max: 32).
AWIDTH: width of left/right arrows (min: 14, default: 18, max: 32).
AHEIGHT: height of up/down arrows (min: 11, default: 15, max: 32).
CWIDTH: width of 3D close gadget (min: 14, default: 20, max: 28).
HBORDER: height of bottom border (min: 2, default: 4, max: 10).
VBORDER: width of vertical borders (min: 2, default: 4, max: 18).
3DLOOK: 3D look (XEN style) gadgets.
INSTALLATION
****************************************************
Put it ***** BEFORE IPrefs in your S:Startup-sequence *****, e.g:
****************************************************
(Arrgh, why do people NEVER read the docs??? Is it clear now? ;)
C:sysihack 18 10 18 11 ; original sizes (but may use 3DLOOK)
C:sysihack 18 14 16 13 ; best look with 11 pt font or NTSC
C:sysihack 18 16 18 15 ; 13 pt font
C:sysihack 20 18 20 17 ; 15 pt font
You got the picture, right? A future version will perhaps do size
selections automatically, but I need the options for quick testing.
If it complains that it hasn't been started before IPrefs, move it
up. Probably best thing to do is to start it right after SetPatch.
No screen may be open if sysihacks starts.
NOTES
If you set the 3DLOOK option, the look of the windows will NOT conform
to the standards described in the Amiga User Interface Style Guide.
If you don't like this, don't use it.
The little 'hole' in the prop gadgets will only appear with BOOPSI
propgclass objects. For compatibility, no subclasses of propgclass
are supported here.
Default sizes do only look good with a 13 pt font, so you WILL need
to adjust sizes to make it look better with e.g. an 11 pt font.
NTSC users will probably be happier with `18 14 18 13', and HBORDER
set to 3. Play with the values to see which you find satisfying.
If you have a very big font (e.g. 18 pt), you can make the close
gadget bigger with CWIDTH. 24 pixels match the size of the depth
gadget. This only works when used with the 3DLOOK option.
HBORDER/VBORDER do not work on the Workbench screen with OS 2.0.
CHANGES
0.6 (14.7.94):
- OOPS! Fixed a very stupid bug in the CloseScreen() patch. It
caused the machine to lock up if screens were closed not in the
reverse order as they were openend. Sorry for any inconvience.
- Added additional message protection in the startup.
0.5 (13.7.94):
- 3DLOOK now works with more programs (I patch NewModifyProp), and
also gives the XEN style 3D looking window and screen gadgets.
- Major! No longer replaces the sizing gadget! After I found out
that Intuition uses buttongclass to create the sizing gadget, I
thought it might be better to patch this class, instead of faking
a sizing gadget. I was going to patch buttongclass anyway.
This has a few downsizes:
- you can no longer make the sizing gadget smaller than originally
- windows opened with OpenWindow() will look strange, because the
sizing gadget doesn't make more room in the borders
The advantages, however, by far outweight the disadvantages:
- no longer fiddles around with zoom gadgets, like it did before
- the sizing gadget is now the real one, so any and all problems
should be gone!
- No longer needs to be RUN, auto-detaches instead. It also checks
if it was started early enough.
- Now works with all fonts >=7pt, as well as Hires-nonlaced screens.
The options are only used for fonts >= 11pt. When the font is
smaller, default values are used. For 8pt fonts, the values match
the original sizes.
- Horizontal scrollbars now get the required height automatically.
This is to support people who already did adaptive layout.
- New option for width of close gadget. Only works with 3D look.
- 3D look scrollbars now get the XEN style recessed frame, when the
3DLOOK option is specified.
- HBORDER/VBORDER option added. Specify large values, to see which
programs use hardcoded values, or use screen->WBorXXX.
- Cute looking XEN style 'hole' in propgclass scrollbars. Thanks
to all who mailed me pictures with their suggestions! I hope you
like it!
0.4 (8.7.94):
- The sizing gadget is now marked as being allocated by Intuition
(even it isn't), so that programs don't try to free it. Isn't
really critical, because I unlink the gadget before CloseWindow()
gets to see the gadget list.
- All images are now rendered into a bitmap cache for fast redraw.
- Fixed some rendering bugs, that didn't show up when the images are
used in window borders.
- 3DLOOK option temporarily removed, it hasn't worked anyway.
- Sizing gadget is now a BOOPSI buttongclass object, in case someone
relies on this. ROM code also uses BOOPSI.
- Many internal changes for future versions ;)
0.3 (5.7.94):
- Changed the switch() in the taglist parser to a chain of if() to
work around a compiler bug.
- Fixed GZZ windows (SuperBitmap etc.).
- Added a WaitBlit() before FreeMem()...
- Fixed Enforcerhit, if window failed to open.
0.2 (5.6.94):
- Now also detects (direct) subclasses of propgclass for patching.
- Improved the check wether a propgadget is a border scroller
(I now just rely on the GACT_BORDER flags, only lame coders forget
to set these).
- Does no longer shrink non-AUTOKNOB hscrollers.
- Didn't verify shell args correctly.
- Fixed oldlook/monochrome left/right arrow images.
- Didn't set WFLG_SIZEGADGET flag.
- New option to force 3D-look scrollers.
0.1 (3.6.94):
- Fixed height of hscroller on window closing (ADPro).
- Now also looks at nw->Screen and nw->Type to find screen.
- Changes up/down arrow images.
- Sizegadget now gets the SHINEPEN fill (my first AreaDraw code :)
- Changes scrollbar gaps.
- Fixed 0/0 MinWidth/MinHeight bug.
- Now longer adjusts WA_Height. They should do that themself!
- Allows me to patch non-AutoAdjust windows (ReqTools).
- Removed startup code.
- Added a bit config ;)
0.0 (25.5.94):
- Created and released.